1. СОЗДАНИЕ МЕНЮ
1.1. КОМПОНЕНТ JMenuBar (строка меню)
![]()
Компонент-контейнер JMenuBar служит для создания главного основного меню в окне. На полосу JMenuBar наносятся компоненты-пункты JMenu.
|
№ п/п |
Свойство |
Назначение |
|
1. |
background |
Цвет фона полосы меню |
|
2. |
opaque |
Непрозрачность фона полосы меню |
|
3. |
border |
Дополнительная рамка по контуру полосы меню |
|
4. |
toolTipText |
Всплывающая подсказка |
1.2. КОМПОНЕНТ JMenu (меню/выпадающее подменю)

Компоненты JMenu служат для создания пунктов основного меню JMenuItem и выпадающих подпунктов подменю.
|
№ п/п |
Свойство |
Назначение |
|
1. |
text |
Наименование пункта меню/подменю |
|
2. |
mnemonic |
Символ, нажатие которого совместно с клавишей «Alt», выберет данный пункт меню/подменю («горячая клавиша»), а при повторном нажатии на данный символ активирует сам пункт |
|
3. |
enabled |
Доступность пункта меню/подменю |
|
4. |
font |
Шрифт пункта |
|
5. |
foreground |
Цвет текста пункта |
|
6. |
background |
Цвет фона пункта |
|
7. |
toolTipText |
Всплывающая подсказка |
|
8. |
icon |
Картинка пункта меню (формата jpeg, gif, png) |
|
9. |
disabledIcon |
Картинка пункта меню при недоступности пункта (enabled=false) |
|
10. |
iconTextGap |
Расстояние от картинки «icon» до надписи кнопки |
|
11. |
horizontalAlignment |
Выравнивание текста и картинки кнопки относительно ее размеров по горизонтали |
|
12. |
horizontalTextPosition |
Положение картинки и надписи кнопки относительно друг друга по горизонтали |
|
13. |
verticalAlignment |
Выравнивание текста и картинки кнопки относительно ее размеров по вертикали |
|
14. |
verticalTextPosition |
Положение картинки и надписи кнопки относительно друг друга по вертикали |
|
№ п/п |
Событие |
Назначение |
|
1. |
menuKeyTyped |
Активация пункта «горячей клавишей» или клавишей «Enter» при выборе пункта стрелками клавиатуры |
|
2. |
mouseClicked |
Активация пункта щелчком мыши |
1.3. КОМПОНЕНТ JMenuItem (пункт меню)
и JRadioButtonMenuItem
(пункт меню/переключатель)

Компоненты JMenuItemи и JRadioButtonMenuItem служат для создания пунктов для JMenu.
|
№ п/п |
Свойство |
Назначение |
|
|
1. |
text |
Наименование пункта |
|
|
2. |
accelerator |
Комбинация клавиш для открытия подменю, где находится пункт (но выбора и активизации самого пункта при этом не происходит !) При повторном нажатии комбинации активируется пункт |
|
|
3. |
mnemonic |
Символ, нажатие которого активирует данный пункт (только при отрытом подменю, где располагается пункт) |
|
|
4. |
selected |
Установка/снятие «галочки» с пункта (только для JRadioButtonMenuItem) |
|
|
5. |
buttonGroup |
Ссылка
на компонент типа ButtonGroup для работы в группе
(режиме выбора одной «точки» |
|
|
6. |
enabled |
Доступность пункта меню |
|
|
7. |
font |
Шрифт пункта |
|
|
8. |
foreground |
Цвет текста пункта |
|
|
9. |
background |
Цвет фона пункта |
|
|
10. |
toolTipText |
Всплывающая подсказка |
|
|
11. |
icon |
Картинка пункта меню (формата jpeg, gif, png) |
|
|
12. |
disabledIcon |
Картинка пункта меню при недоступности пункта (enabled=false) |
|
|
13. |
iconTextGap |
Расстояние от картинки «icon» до надписи кнопки |
|
|
14. |
horizontalAlignment |
Выравнивание текста и картинки кнопки относительно ее размеров по горизонтали |
|
|
15. |
horizontalTextPosition |
Положение картинки и надписи кнопки относительно друг друга по горизонтали |
|
|
16. |
verticalAlignment |
Выравнивание текста и картинки кнопки относительно ее размеров по вертикали |
|
|
17. |
verticalTextPosition |
Положение картинки и надписи кнопки относительно друг друга по вертикали |
|
|
№ п/п |
События |
Назначение |
|
1. |
actionPerformed |
Активация пункта |
|
№ п/п |
Методы |
Назначение |
|
1. |
isSelected() |
Проверка установки «галочки» (только для JRadioButtonMenuItem) |
|
2. |
doClick() |
Активация пункта (вызов метода, обрабатывающего событие actionPerformed) |
1.3.1. Пример работы с JRadioButtonMenuItem
private void jRadioButtonMenuItem6ActionPerformed(java.awt.event.ActionEvent evt) {
// Пример работы с JRadioButtonMenuItem
if (jRadioButtonMenuItem6.isSelected()) JOptionPane.showMessageDialog(rootPane, "да");
}
1.4. КОМПОНЕНТ JSeparator (разделитель)
![]()
Компонент JSeparator служит для визуального разделения пунктов и подпунктов меню.
|
№ п/п |
Свойство |
Назначение |
|
1. |
foreground |
Цвет линии |
2. СОЗДАНИЕ ПОДМЕНЮ
2.1. КОМПОНЕНТ JPopupMenu (всплывающее меню)
Компонент JPopupMenu служит для создания всплывающего меню (вызываемого правой кнопкой мыши) для других компонент, через их свойство componentPopupMenu для привязки к нужному компоненту JPopupMenu.
Всплывающее меню JPopupMenu конструируется с помощью компонент JMenu, JMenuItem и JRadioButtonMenuItem через Инспектор объектов NetBeans.
3. ДИАЛОГИ
3.1. ДИАЛОГИ ВЫВОДА JOptionPane.showMessageDialog
Диалоги вывода JOptionPane.showMessageDialog служат для отображения в отдельном всплывающем окошке нужного сообщения с нужной картинкой.
|
№ п/п |
Программный код |
Результат |
|
1. |
JOptionPane.showMessageDialog(null,"Ошибка!","Сообщение 1",0); или JOptionPane.showMessageDialog(null, "Ошибка!", "Сообщение 1", JOptionPane.ERROR_MESSAGE); |
|
|
2. |
JOptionPane.showMessageDialog(null, "Информирование!", "Сообщение 2", 1); или JOptionPane.showMessageDialog(null, "Информирование!", "Сообщение 2", JOptionPane.INFORMATION_MESSAGE); |
|
|
3. |
JOptionPane.showMessageDialog(null, "Предупреждение!", "Сообщение 3", 2); или JOptionPane.showMessageDialog(null, "Предупреждение!", "Сообщение 3", JOptionPane.WARNING_MESSAGE); |
|
|
4. |
JOptionPane.showMessageDialog(null, "Вопрос!", "Сообщение 4", 3); или JOptionPane.showMessageDialog(null, "Вопрос!", "Сообщение 4", JOptionPane.QUESTION_MESSAGE); |
|
|
5. |
JOptionPane.showMessageDialog(null, "Просто текст без картинки", "Сообщение 5", -1); или JOptionPane.showMessageDialog(null, "Просто текст без картинки", "Сообщение 5", JOptionPane.PLAIN_MESSAGE); |
|
|
6. |
JOptionPane.showMessageDialog(null, "Сообщение со своей картинкой", "Сообщение 6", 0, new javax.swing.ImageIcon(getClass().getResource("/mypackage/6.png"))); |
|
3.2. ДИАЛОГИ ПОДТВЕРЖДЕНИЯ JOptionPane.showConfirmDialog
Диалоги подтверждения JOptionPane.showConfirmDialog служат для вывода в отдельном всплывающем окошке сообщением с возможностью выбора нужного ответа.
|
№ п/п |
Программный код |
Результат |
|
1. |
if (JOptionPane.showConfirmDialog(null, "Сохранить данные?", "Подтверждение", 0) == JOptionPane.YES_OPTION) { JOptionPane.showMessageDialog(null, "Да", "Сообщение", 1); }; |
|
|
2. |
if (JOptionPane.showConfirmDialog(null, "Сохранить данные?", "Подтверждение", 2) == JOptionPane.OK_OPTION) { JOptionPane.showMessageDialog(null, "Да", "Сообщение", 1); }; |
|
|
3. |
if (JOptionPane.showConfirmDialog(null, "Сохранить данные?", "Подтверждение", 1) == JOptionPane.NO_OPTION) { JOptionPane.showMessageDialog(null, "Нет", "Сообщение", 1); }; |
|
3.3. ДИАЛОГИ ВВОДА JOptionPane.showInputDialog
Диалоги ввода JOptionPane.showInputDialog служат для ввода в отдельном всплывающем окошке нужного значения.
|
№ п/п |
Программный код |
Результат |
|
1. |
String s = JOptionPane.showInputDialog(null, "X=", "Введите данные", 3); |
|
|
2. |
String s = JOptionPane.showInputDialog(null, "X=", "125"); |
|
|
3. |
String s = JOptionPane.showInputDialog(null, "X="); |
|
3.4. ДИАЛОГИ ВЫБОРА ФАЙЛА / КАТАЛОГА JFileChooser
Диалоги выбора JFileChooser служат запроса у пользователя имени файла или каталога.


private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// Запрос имени файла
JFileChooser chooser = new JFileChooser(); // Создаем объект выбора имени файла
chooser.setDialogTitle("Выберите файл"); // Заголовок окна диалога
chooser.setFileSelectionMode(JFileChooser.FILES_ONLY); // Выбор только файлов
// Установить первое значение фильтра по-умолчанию
chooser.setFileFilter(new FileNameExtensionFilter("TXT & DOC", "txt", "doc"));
// Добавить дополнительные фильтры
chooser.addChoosableFileFilter(new FileNameExtensionFilter("MP3 & AVI", "mp3", "avi"));
chooser.addChoosableFileFilter(new FileNameExtensionFilter("JPG & PNG", "jpg","png"));
chooser.setAcceptAllFileFilterUsed(false); // Запретить показывать фильтр "All files"
int ret = chooser.showDialog(null, "Выбрать"); // Вызываем диалог
if (ret != JFileChooser.APPROVE_OPTION) { return; } // Если файл не выбран, то выход
//File file = chooser.getSelectedFile(); // Подключение к файлу
JOptionPane.showMessageDialog(null, chooser.getSelectedFile().getName(), "Имя файла", 1);
JOptionPane.showMessageDialog(null, chooser.getSelectedFile().getPath(), "Полный путь с именем файла", 1);
}
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
// Запрос имени каталога
JFileChooser chooser = new JFileChooser(); // Создаем объект выбора имени файла
chooser.setDialogTitle("Выберите каталог"); // Заголовок окна диалога
chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); // Выбор только каталогов
// chooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES); // Выбор или каталога или файла
chooser.setAcceptAllFileFilterUsed(false); // Отключить выбор типа файлов
chooser.setCurrentDirectory(new File(".").getAbsoluteFile().getParentFile()); // Установка текущего каталога
int ret = chooser.showDialog(null, "Выбрать"); // Вызываем диалог
if (ret != JFileChooser.APPROVE_OPTION) { return; } // Если каталог не выбран, то выход
JOptionPane.showMessageDialog(null, chooser.getSelectedFile().getName(), "Имя каталога", 1);
JOptionPane.showMessageDialog(null, chooser.getSelectedFile().getPath(), "Полный путь с именем каталога", 1);
}